// pages/category/index.js
// 引入发送请求方法
import {request} from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({
/**
   * 页面的初始数据
   */
  data: {
    // 左侧菜单数据
    leftMenuList:[],
    // 获取右侧数据
    rightContent:[],
    // 左侧菜单被点击变色
    currentIndex:0
  },
  // 接口返回值类型
  Cates:[],
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 使用缓存技术 旧-新
    // this.getCategory()
    // 1.获取本地存储数据
    const Cates=wx.getStorageSync("cates");
    // 2.判断
    if(!Cates){
      // 如果不存在缓存重新发送请求获取
      this.getCategory();
    }else{
      // 有旧的数据     判断如果有旧数据是否过期，如果过期重新发请求
      // 定义过期时间  为10秒
      if(Date.now()-Cates.time>1000*10){
        // 重新发送请求
        this.getCategory();
      }else{
        console.log("有可用的旧数据");
        // 有旧数据 =接口返回数据
        this.Cates =Cates.data;
        // 如果有数据渲染旧数据
        let leftMenuList =this.Cates.map(v=>v.cat_name);
        // 构造商品右侧数据
        let rightContent =this.Cates[0].children;
        this.setData({
          leftMenuList,
          rightContent    
        })
      }
    }
  },
  // 获取商品分类数据
  getCategory(){
    request({
      url:"/categories"
    })
    .then(res=>{
            //  赋值
            this.Cates=res.data.message
            // 把本地接口存入到本地存储中
            wx.getStorageSync("cates",{time:Date.now(),data:this.Cates});
          //  构造左侧大菜单数据
          let leftMenuList =this.Cates.map(v=>v.cat_name);
          // 构造商品右侧数据
          let rightContent =this.Cates[0].children;
          console.log(leftMenuList);
          console.log(rightContent);
          console.log('%c'+"左侧数据为"+leftMenuList+"右侧数据为"+rightContent+"商品菜单栏","color:red;font-size:100px;background-image:linear-gradient(to right,#0094ff,pink)");
          this.setData({
            leftMenuList,
            rightContent    
          })
          })
  },
  // 左侧菜单点击事件
  handIetmTap(e){
    // console.log(e);
    /**
     * 1.获取点击索引
     * 2.给data里的index赋值
     */
    // 1.获取点击索引
    const {index} =e.currentTarget.dataset;
     // 2.构造商品右侧数据
     let rightContent =this.Cates[index].children;
     // 3.给data里的index赋值
     this.setData({
      currentIndex:index,
      rightContent
    })
     
  }
})